package com.evaluation.kexingcp.psycho.evaluation.sys.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.evaluation.kexingcp.common.data.datascope.KexingcpBaseMapper;
import com.evaluation.kexingcp.psycho.evaluation.sys.controller.vo.EvaluationReportVo;
import com.evaluation.kexingcp.psycho.evaluation.sys.controller.vo.EvaluationTaskUserVo;
import com.evaluation.kexingcp.psycho.evaluation.sys.controller.vo.UserReportStatusVo;
import com.evaluation.kexingcp.psycho.evaluation.sys.controller.vo.UserReportVo;
import com.evaluation.kexingcp.psycho.evaluation.sys.entity.EvaluationTaskUserRelEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface EvaluationTaskUserRelMapper extends KexingcpBaseMapper<EvaluationTaskUserRelEntity> {


    IPage<EvaluationTaskUserVo> selectMyTask(Page page, @Param("userId") Long userId, @Param("query") EvaluationTaskUserRelEntity taskName);

    List<EvaluationTaskUserVo> selectMyUncompleteTask(@Param("userId") Long userId);

    int selectTaskUserCount(@Param("taskId") Long taskId);

    String selectScales(@Param("taskId") Long taskId);

    int selectTaskUserCompletedCount(@Param("taskId") Long taskId);

    List<UserReportVo> selectTaskUsers(@Param("taskId") Long taskId);

    List<UserReportStatusVo> selectUserCompleteStatus(@Param("taskId") Long taskId);

    List<Map> selectTaskCompeleteDate(@Param("taskId") Long taskId);

    List<EvaluationReportVo> selectReportVo(@Param("taskId") Long taskId);
}